package com.allinpokers.vest.allinvest.dao;

/**
 * @author caohongliang
 * @date 2018/12/4
 */
public interface BaseDao<ENTITY, EXAMPLE, ID> extends BaseNotPrimaryKeyDao<ENTITY, EXAMPLE> {

    /**
     * 根据主键删除对应的记录
     *
     * @param id id
     * @return int
     */
    int deleteByPrimaryKey(ID id);

    /**
     * 根据主键查询
     *
     * @param id id
     * @return UmUser
     */
    ENTITY selectByPrimaryKey(ID id);

    /**
     * 根据主键更新所有非空字段
     *
     * @param record record
     * @return int
     */
    int updateByPrimaryKeySelective(ENTITY record);

    /**
     * 根据主键更新所有字段
     *
     * @param record record
     * @return int
     */
    int updateByPrimaryKey(ENTITY record);
}